//存放用户的数组
var users = new Array();

//按钮的操作类型
var operateType;

//创建用户的构造方法
function user(code, userName, sex, passWord, age, birthday) {
    this.code = code;
    this.userName = userName;
    this.sex = sex;
    this.passWord = passWord;
    this.age = age;
    this.birthday = birthday;
}

//初始化数据
function init() {
    users[0] = new user("1", "李树飞", "男", "111", "23", "1997-02-11");
    users[1] = new user("2", "李兴雨", "男", "111", "23", "1996-09-16");

    //保证表格中的数据是新的
    refresh(users);
}

//刷新数据,将前面页面的tbody设置成这样
function refresh(users) {
    var tbody = document.getElementById("tbody");
    var html = "";
    var color = "warning";
    var flag = true;
    for (var i in users) {
        if (flag) {
            color = "info";
        } else {
            color = "warning";
        }
        html = html + "<tr class='" + color + "'><td style='width:30px;'><input type='checkbox'></td><td id='code'>"
            + users[i].code + "</td><td id='userName'>"
            + users[i].userName + "</td><td id='sex'>"
            + users[i].sex + "</td><td id='passWord'>"
            + users[i].passWord + "</td><td id='age'>"
            + users[i].age + "</td><td id='birthday'>"
            + users[i].birthday + "</td>"
            + "</td>"
        //转换颜色
        flag = !flag;
    }
    //在表格中创建所有的tr元素
    tbody.innerHTML = html;
}

//点击添加按钮
$("#user_add").on("click", function () {
    operateType = "add";
});

//点击修改按钮
$("#user_edit").on("click", function () {
    operateType = "edit";
});

//添加用户
$("#save").on("click", function () {
    if (operateType == "add") {
        var newUser = new user($("#m_code").val(), $("#m_userName").val(), $("#m_sex").val(), $("#m_passWord").val(), $("#m_age").val(), $("#m_birthday").val());
        //在原数组添加一个新的用户元素
        users = users.concat(newUser);
    } else if (operateType == "edit") {
        for (var i = 0; i < users.length; i++) {
            //如果选中的用户编号和数组里面的用户编号相同，就要修改这个
            if (code == users[i].code) {
                users[i].code = $("#m_code").val();
                users[i].userName = $("#m_userName").val();
                users[i].sex = $("#m_sex").val();
                users[i].passWord = $("#m_passWord").val();
                users[i].age = $("#m_age").val();
                users[i].birthday = $("#m_birthday").val();
            }
        }
        alert("修改成功");
    }
    refresh(users);
});

//删除用户
$("#user_delete").on("click", function () {
    //获取所有的复选框
    var checkboxs = $("input[type='checkbox']");
    //是否选中标记的用户
    let f = false;
    for (var i = 0; i < checkboxs.length; i++) {
        var box = checkboxs[i];
        //有复选框被选中
        if (box.checked) {
            //标记有复选框被选中
            f = true;
            //jsDOM对象转换成jQuery对象
            box = $(box);
            //复选框父级的兄弟#code元素
            let code = box.parent().siblings("#code").text();
            for (var i = 0; i < users.length; i++) {
                if (code == users[i].code) {
                    //删除一个数组中下标为i的元素
                    users.splice(i, 1);
                    alert("删除成功");
                }
            }
        }
    }
    if (!f) {
        alert("请选择用户");
    }
    //刷新
    refresh(users);
});


//被修改的用户编号
var code;
//修改用户
$("#user_edit").on("click", function () {
    var checkboxs = $("input[type='checkbox']");
    //是否选中标记的用户
    let f = false;
    for (var i = 0; i < checkboxs.length; i++) {
        var box = checkboxs[i];
        //有复选框被选中
        if (box.checked) {
            //标记有复选框被选中
            f = true;
            //启用模态框
            $(this).attr("data-toggle", "modal");
            $(this).attr("data-target", "#myModal");
            //jsDOM对象转换成jQuery对象
            box = $(box);
            //复选框父级的兄弟#code元素
            code = box.parent().siblings("#code").text();
            //获取表格中的用户的数据
            var userName = box.parent().siblings("#userName").text();
            var sex = box.parent().siblings("#sex").text();
            var passWord = box.parent().siblings("#passWord").text();
            var age = box.parent().siblings("#age").text();
            var birthday = box.parent().siblings("#birthday").text();
            //将选中的用户的数据放入对应的模态框中
            $("#m_code").val(code);
            $("#m_userName").val(userName);
            $("#m_sex").val(sex);
            $("#m_passWord").val(passWord);
            $("#m_age").val(age);
            $("#m_birthday").val(birthday);
        }
    }
    if (!f) {
        alert("请选择用户");
        //禁用模态框
        $(this).attr("data-toggle", null);
        $(this).attr("data-target", null);
    }
});

var newUsers;
//查询用户
$("#user_find").on("click", function () {
    newUsers = new Array();
    var codeLike = $(this).siblings("#s_code").val();
    for (var i = 0; i < users.length; i++) {
        //如果用户编号中存在被查询的编号关键字
        if (users[i].code.indexOf(codeLike) >= 0) {
            //将这个对象添加到一个全新的数组中
            newUsers = newUsers.concat(users[i]);
        }
    }
    //刷新数组
    refresh(newUsers);
});